方法一
< el- form- item label= "审核结果" prop= "approveStatus" >
< el- radio- group v- model= "ruleForm.approveStatus" >
< el- radio : label= "1" > 同意< / el- radio>
< el- radio : label= "0" > 不同意< / el- radio>
< / el- radio- group>
< / el- form- item>
< el- form- item label= "审核意见" : prop= "isValidApproveMessage" >
< el- input type= "textarea" v- model= "ruleForm.approveMessage" > < / el- input>
< / el- form- item>
方法二
< el- form- item label= "审核意见" prop= "opinion" >
< el- input
v- model= "ruleForm.opinion"
type= "textarea"
rows= "6"
> < / el- input>
< / el- form- item>
watch : {
ruleForm : {
handler ( val ) {
this . setRules ( ) ;
} ,
immediate : true ,
deep : true
}
} ,
methods : {
setRules ( ) {
if ( this . ruleForm. isAgree == "0" ) {
let opinion = [
{ required : true , message : "请填写审核意见" , trigger : "change" }
] ;
this . $set ( this . rules, "opinion" , opinion) ;
} else {
this . $set ( this . rules, "opinion" , undefined ) ;
}
} ,
}
方法三
data ( ) {
let validateIdea = ( rule, value, callback ) => {
if ( this . ruleForm. idea === "" && this . ruleForm. auditResult == "0" ) {
callback ( new Error ( "请输入审核意见" ) ) ;
} else {
callback ( ) ;
}
} ;
return { }
}
rules : {
idea : [ { required : true , validator : validateIdea, trigger : "change" } ] ,
} ,
方法四
data ( ) {
return {
ruleForm : {
name : "" ,
} ,
rules : {
isAgree : [
{ required : true , message : "请选择审核结果" , trigger : "change" } ,
] ,
opinion : [
{ required : false , message : "请选择审核结果" , trigger : "change" } ,
] ,
} ,
} ;
} ,
watch : {
"ruleForm.isAgree" : {
handler ( val ) {
val === 0 && ( this . rules. opinion[ 0 ] . required = true ) ;
val === 1 && ( this . rules. opinion[ 0 ] . required = false ) ;
} ,
deep : true ,
} ,
} ,