69 lines
		
	
	
		
			1.3 KiB
		
	
	
	
		
			Markdown
		
	
	
			
		
		
	
	
			69 lines
		
	
	
		
			1.3 KiB
		
	
	
	
		
			Markdown
		
	
	
| <cn>
 | ||
| #### 条件触发
 | ||
| 可以判断是否需要弹出。
 | ||
| </cn>
 | ||
| 
 | ||
| <us>
 | ||
| #### Conditional trigger
 | ||
| Make it pop up under some conditions.
 | ||
| </us>
 | ||
| 
 | ||
| ```html
 | ||
| <template>
 | ||
|   <div>
 | ||
|     <a-popconfirm
 | ||
|       title="Are you sure delete this task?"
 | ||
|       :visible="visible"
 | ||
|       @visibleChange="handleVisibleChange"
 | ||
|       @confirm="confirm"
 | ||
|       @cancel="cancel"
 | ||
|       okText="Yes"
 | ||
|       cancelText="No"
 | ||
|     >
 | ||
|       <a href="#">Delete a task</a>
 | ||
|     </a-popconfirm>
 | ||
|     <br />
 | ||
|     <br />
 | ||
|     Whether directly execute:<a-checkbox defaultChecked @change="changeCondition" />
 | ||
|   </div>
 | ||
| </template>
 | ||
| <script>
 | ||
| import { message } from 'antd'
 | ||
| 
 | ||
| export default {
 | ||
|   data () {
 | ||
|     return {
 | ||
|       visible: false,
 | ||
|       condition: true,
 | ||
|     }
 | ||
|   },
 | ||
|   methods: {
 | ||
|     changeCondition (e) {
 | ||
|       this.condition = e.target.checked
 | ||
|     },
 | ||
|     confirm () {
 | ||
|       this.visible = false
 | ||
|       message.success('Next step.')
 | ||
|     },
 | ||
|     cancel () {
 | ||
|       this.visible = false
 | ||
|       message.error('Click on cancel.')
 | ||
|     },
 | ||
|     handleVisibleChange (visible) {
 | ||
|       if (!visible) {
 | ||
|         this.visible = false
 | ||
|         return
 | ||
|       }
 | ||
|       // Determining condition before show the popconfirm.
 | ||
|       console.log(this.condition)
 | ||
|       if (this.condition) {
 | ||
|         this.confirm() // next step
 | ||
|       } else {
 | ||
|         this.visible = true
 | ||
|       }
 | ||
|     },
 | ||
|   },
 | ||
| }
 | ||
| </script>
 | ||
| ```
 |