項目場景:
提示:項目相關背景:
項目場景:有時候自己的Form 表單中的某幾項引入的一些項不好去校驗
這樣的咋去校驗呢?
解決方案:
提示:問題的具體解決方案:
例如:寫一個 prop="xxx"
這個必不可少,再寫一個 change
事件,然后在 change
事件寫判斷邏輯,用自定義的參數hasOrganId
來接收結果,用其來判斷。
在methods
里面寫change
事件判斷邏輯
methods: {changeOrganId (val) {this.hasOrganId = val.length > 0 ? true : false;},
}
重要的地方:
以下是詳細代碼:
<el-formref="memberDialogForm":model="memberDialogForm":rules="memberRules" ><el-form-item label="所屬組織" prop="organ_id"><el-cascaderref="myCascader":props="props"popper-class="cascaderParent"style="width: 100%"placeholder="請選擇組織"@change="changeOrganId"clearable><template slot-scope="{ node, data }"><operate-text-tip:class="{'no-children': node.children.length === 0}"style="max-width: 100%":show-text="data.label":item-width="'100%'"show-type="width"/><span v-if="!node.isLeaf"></span></template></el-cascader></el-form-item></el-form>
export default {data() {const checkOrganId = (rule, value, callback) => {if (this.hasOrganId) {return callback();} else {return callback(new Error('請選擇組織'));}};return {memberRules: {organ_id: [// {// required: true,// message: '請選擇組織',// trigger: ['change', 'blur'],// },{required: true,validator: checkOrganId,trigger: ['change', 'blur'],},],}hasOrganId: false,}}
methods: {changeOrganId (val) {this.hasOrganId = val.length > 0 ? true : false;},
}