南京2024年夏天晚上八点天黑了吗
2024-04-28
在我们讲弹窗ui,我们可能都听过,有朋友问弹窗usimlte v1017,这究竟是怎么一回事呢?让朋友们少走弯路。
ElementUI的弹窗实现步骤条,步骤1,步骤二。
1.使用组件 el-steps,里面有上一步和下下一步的方法
2.控制组件 的显示v-show 或者v-if
3.在他们的方法里面改变显示的状态
4.点击一下一步切换显示的表单
!DOCTYPE html
html
head
meta charset="UTF-8"
title/title
link href="static/css/admin.css" rel="stylesheet" type="text/css"
link href="static/css/amazeui.css" rel="stylesheet" type="text/css"
link href="static/css/personal.css" rel="stylesheet" type="text/css"
link href="static/css/systyle.css" rel="stylesheet" type="text/css"
link rel="stylesheet" href=""
link rel="stylesheet" href="static/css/bootstrap.css" /
script type="text/javascript" src="static/js/jquery-3.4.1.min.js"/script
!-- 引入样式 --
!-- 引入 layui.css --
link rel="stylesheet" href="//unpkg.com/layui@2.6.5/dist/css/layui.css"
!-- 引入 layui.js --
script src="//unpkg.com/layui@2.6.5/dist/layui.js"
script type="text/javascript" src="static/js/bootstrap.js" /script
script src=""/script
link rel="stylesheet" href=""
!-- 引入组件库 --
script src=""
/script
/head
body
div id="container"
div class="m-order" style="margin-bottom: 0px;height: 160px;"
div class="s-bar" style="height: 29px;"i class="s-icon"/i衣服列表
a @click="queryByStatus(0)" class="i-load-more-item-shadow"全部衣服/a
/div
ul
li style="width: 25%; "
a @click="queryByStatus(1)"iimg src="static/images/send.png"/i span男上装em class="m-num"
style="display: none;"0/em/span/a
/li
li style="width: 25%;"
a @click="queryByStatus(2)"iimg src="static/images/receive.png"/i span男下装em class="m-num"
style="display: none;"0/em/span/a
/li
li style="width: 25%;"
a @click="queryByStatus(3)"iimg src="static/images/comment.png"/i span女上装em class="m-num"
style="display: none;"0/em/span/a
/li
li style="width: 25%;"
a @click="queryByStatus(4)"iimg src="static/images/comment.png"/i span女下装em class="m-num"
style="display: none;"0/em/span/a
/li
li style="width: 25%;"
a @click="queryByStatus(5)"iimg src="static/images/comment.png"/i span童装专区em
class="m-num" style="display: none;"0/em/span/a
/li
li style="width: 25%;"
a @click="queryByStatus(6)"iimg src="static/images/comment.png"/i span鞋靴em class="m-num"
style="display: none;"0/em/span/a
/li
li style="width: 25%;"
a @click="queryByStatus(7)"iimg src="static/images/comment.png"/i span箱包em class="m-num"
style="display: none;"0/em/span/a
/li
/ul
/div
div class="box-container-bottom" style="margin-bottom: 15px;"/div
div class="m-logistics"
!--div class="s-bar" i class="s-icon"/i/div--
div class="s-content"
ul class="lg-list"/ul
el-button type="danger" size="small" @click="add" style="float: right;"新增商品/el-button
table class="table" style="height: 5px;"
tr
td width="5%"序号/td
td width="20%"商品名/td
td width="10%"类别/td
td width="10%"销量/td
td width="20%"上架时间/td
td width="20%"更新时间/td
td width="20%"操作/td
/tr
template v-for="product,index in products"
tr
td{{index+1}}/td
td{{product.productName}}/td
td{{product.categoryName}}/td
td{{product.soldNum}}/td
td{{product.createTime.replace(/T/g, ' ').replace(/.[\d]{3}Z/, ' ')}}/td
td{{product.updateTime.replace(/T/g, ' ').replace(/.[\d]{3}Z/, ' ')}}/td
td
template
button class="btn btn-danger btn-xs" @click="changeClothesinfo"
:data-id="index"修改/button
button class="btn btn-danger btn-xs" @click="deleteClothes"
:data-id="index"下架/button
/template
/td
/tr
/template
tr
td colspan="5"
!--分页 --
el-pagination background layout="prev, pager, next" :current-page="pageNum"
:page-size="limit" :total="count" @current-change="pager" /el-pagination
/td
/tr
/table
!-- 弹窗,新增 --
el-dialog v-dialogDrag title="商品添加页面" :visible.sync="dialogFormVisible" class="dialog"
custom-class="dialogs"
el-steps :space="800" :active="active" finish-status="success"
el-step title="步骤 1"
/el-step
el-step title="步骤 2"/el-step
/el-steps
el-form :label-position="labelPosition" label-width="100px" :model="formLabelAlign" v-show="show"
h2 style="text-align: center;" 商品信息添加/h2
el-form-item label="商品名:"
el-input v-model="product1.productName"/el-input
/el-form-item
el-form-item label="指导价:"
el-input v-model="product1.productPrice"/el-input
/el-form-item
el-form-item label="一级分类名称:"
el-select v-model="product1.rootCategoryId" filterable placeholder="请选择"
el-option v-for="item in options" :key="item.value" :label="item.label"
:value="item.value"
/el-option
/el-select
/el-form-item
el-form-item label="二级分类名称:"
el-select v-model="product1.categoryId" filterable placeholder="请选择"
el-option v-for="item in options" :key="item.value" :label="item.label"
:value="item.value"
/el-option
/el-select
/el-form-item
el-form-item label="细节大图:" labe-width="100"
el-input type="file" v-model="product1.content"/el-input
/el-form-item
el-form-item label="原价:" labe-width="100"
el-input v-model="product1.originPrice"/el-input
/el-form-item
el-form-item label="尺码:" labe-width="100"
div style="margin: 15px 0;"/div
el-checkbox-group v-model="checkedCities" @change="handleCheckedCitiesChange"
el-checkbox v-for="city in cities" :label="city" :key="city"{{city}}/el-checkbox
/el-checkbox-group
/el-form-item
el-form-item label="库存:" labe-width="100"
el-input v-model="product1.saveNum"/el-input
/el-form-item
/el-form
el-form label-width="100px" :model="formLabelAlign" v-show="!show"
h2 style="text-align: center;" 商品参数信息添加/h2
el-form-item label="品牌:"
el-input v-model="product1.productBrand"/el-input
/el-form-item
el-form-item label="适合年龄:"
el-input v-model="product1.applicableAge"/el-input
/el-form-item
el-form-item label="面料:"
el-input v-model="product1.productFabric"/el-input
/el-form-item
el-form-item label="图案:" labe-width="100"
el-input v-model="product1.productPattern"/el-input
/el-form-item
el-form-item label="袖型:"
el-input v-model="product1.sleeveType"/el-input
/el-form-item
el-form-item label="袖长:"
el-input v-model="product1.clothingLength"/el-input
/el-form-item
el-form-item label=" 衣长:"
el-input v-model="product1.sleevLength"/el-input
/el-form-item
el-form-item label="颜色分类:"
el-input v-model="product1.productColor"/el-input
/el-form-item
el-form-item label=" 年份季节:" labe-width="100"
el-radio-group v-model="product1.radio"
el-radio :label="1"春天/el-radio
el-radio :label="2"夏天/el-radio
el-radio :label="3"秋天/el-radio
el-radio :label="4"冬天/el-radio
/el-radio-group
/el-form-item
el-el-form-item style="float: right;"
el-button @click="cancel" 取消 /el-button
el-button type="danger" @click="saveProduct(product1)"保存/el-button
/el-el-form-item
/el-form
div slot="footer" class="dialog-footer"
el-button style="margin-top: 12px;" @click="pre"上一步/el-button
el-button style="margin-top: 12px;" @click="next"下一步/el-button
/div
/el-dialog
div id="wrap" class="wrap"
/div
/div
/div
/div
script type="text/javascript" src="static/js/cookie_utils.js"/script
script type="text/javascript" src="static/js/axios.min.js"/script
script type="text/javascript" src="static/js/vue.js"/script
!-- 引入组件库 --
script src=""/script
script type="text/javascript" src="static/js/base.js"/script
script type="text/javascript"
var cityOptions = ['XL', 'M',"L"];
var layer;
layui.use('layer', function(){
layer = layui.layer;
});
var v = new Vue({
el:"#container",
data:{
// ------商品尺码
checkAll: true,
checkedCities: ['XL', 'M'],
cities: cityOptions,
isIndeterminate: true,
// ----------
// 一级分类
options: [{
value: '选项1',
label: '黄金糕'
}, {
value: '选项2',
label: '双皮奶'
}, {
value: '选项3',
label: '蚵仔煎'
}, {
value: '选项4',
label: '龙须面'
}, {
value: '选项5',
label: '北京烤鸭'
}],
value: '',
// ----
radio: 3,
dialogFormVisible:false,
show:true,
product1:{ },
active: 0,
token:"",
pageNum:1,
limit:5,
userId:"",
products:[],
count:0,
status:0,
keyword:""
},
created:function(){
this.token = getCookieValue("token");
this.userId = getCookieValue("userId");
//1.加载页面,请求订单信息
var url1 = baseUrl+"admin/manageclothes";
axios({
url:url1,
method:"get",
headers:{
token:this.token
},
params:{
pageNum:this.pageNum,
limit:this.limit,
status:this.status,
keyword:this.keyword,
}
}).then((res)={
console.log(res.data.data);
if(res.data.code == 10000){
this.products = res.data.data.list;
this.count = res.data.data.count;
}
});
},
methods:{
// 保存商品
saveProduct(productVO){
console.log(productVO,"product1-------");
var url5=baseUrl+"";
axios({
url:url5,
method:"POST",
data:productVO
}).then(res={
ELEMENT.Message.success("添加地址成功");
this.disabled=true;
})
},
handleCheckAllChange(event) {
this.checkedCities = event.target.checked ? cityOptions : [];
this.isIndeterminate = false;
},
handleCheckedCitiesChange(value) {
let checkedCount = value.length;
this.checkAll = checkedCount === this.cities.length;
this.isIndeterminate = checkedCount 0 checkedCount this.cities.length;
},
cancel(){
this.dialogFormVisible = false;
},
add(){
this.show = true;
this.dialogFormVisible = true;
},
next() {this.show = false;
if (this.active++ 2) this.active = 0;
},
pre() {this.show = true;
if (this.active-- 0) this.active = 0;
},
pager:function(page){
this.pageNum = page;
//1.加载页面,请求订单信息
var url1 = baseUrl+"admin/manageclothes";
var obj = {
pageNum:this.pageNum,
limit:this.limit,
keyword:this.keyword,
status:this.status
};
if(this.status!=null){
obj.status = this.status;
}
axios({
url:url1,
method:"get",
headers:{
token:this.token
},
params:obj
}).then((res)={
console.log(res.data.data);
if(res.data.code == 10000){
this.products = res.data.data.list;
this.count = res.data.data.count;
}
});
},
queryByStatus:function(status){
this.pageNum = 1;
this.status = status;
console.log("插旗")
console.log(this.status);
var url1 = baseUrl+"admin/manageclothes";
/* var parm = {
"userId":this.userId,
"pageNum":this.pageNum,
"limit":this.limit,
"status":this.status
}; */
axios({
url:url1,
method:"get",
headers:{
token:this.token
},
//data: parm
params:{
userId:this.userId,
pageNum:this.pageNum,
limit:this.limit,
status:this.status
}
}).then((res)={
console.log(res.data.data);
if(res.data.code == 10000){
this.products = res.data.data.list;
console.log(res.data.data.list.productName)
this.count = res.data.data.count;
}
});
},
deleteClothes:function(event){
var index = event.srcElement.dataset.id;
var pid = this.products[index].productId;
var url = baseUrl+"admin/deleteclothes/"+pid;
axios({
url:url,
method:"put",
headers:{
token:this.token
}
}).then((res)={
console.log("下架衣服测试");
//alert("取消成功!")
layer.msg("成功!");
window.location.href="admin-manageclothes.html";
});
},
changeClothesinfo:function(event){
var index = event.srcElement.dataset.id;
var product = this.products[index];
localStorage.setItem("product",JSON.stringify(product));
window.location.href="admin-clothesinfo.html";
},
/* allOrder:function(){
this.pageNum = 1;
//this.status = status;
//console.log(this.status);
var url1 = baseUrl+"order/all";
var parm = {
"userId":this.userId,
"pageNum":this.pageNum,
"limit":this.limit,
"status":this.status
};
axios({
url:url1,
method:"get",
headers:{
token:this.token
},
//data: parm
params:{
userId:this.userId,
pageNum:this.pageNum,
limit:this.limit,
//status:this.status
}
}).then((res)={
console.log(res.data.data);
if(res.data.code == 10000){
this.orders = res.data.data.list;
console.log("插旗")
console.log(res.data.data.list.productName)
this.count = res.data.data.count;
}
});
}, */
}
});
/script
/body
/html
React+Electron桌面应用开发文章索引
这篇文章继续之前的文章,介绍如何创建弹窗。
MaterialUI官方给出了Dialog各种实现案例 ,但都很繁琐。因为弹窗经常被使用,所以我们需要极其简单的实现。
模态弹窗必须打断用户当前流程,用户必须做出选择或操作。同时显示的模态弹窗最多1个,不能重叠。
所以,弹窗不像是一个界面元素,而更像一个全局功能,任何按钮可以直接呼叫它,让它显示出来。
弹窗分为几类:
我们把用户操作分为两类:
我们再分析打开和关闭的实现细节:
尽管内部的交互可能更加复杂,但实现很简单,因为我们可以在窗口打开时候增加一个children参数,把整个内容区填进去就可以。
我们创建Utitlies/MyDialog.js。
这里输出了一个标准元素,当它被App的render使用的时候,会创造两个全局的方法用来显示和隐藏窗口。
一个默认的状态defaultState用来初始化和清空窗口的全部设置,包含了我们上面提到的各种参数。实际上大部分默认值都写在了render()函数里面。
比起官方案例,MyDialog并不简单,但这是一劳永逸的做法,我们看一下具体使用。
首先,我们要在顶级的App.js中加载 import MyDialog from '../Utilities/MyDialog' 。
然后在render()的最后使用它,这样$showMyDialog和$hideMyDialog就被添加到global全局了:
好了,现在就绪了,我们可以在任意页面中使用,比如在HomePage.js的render()中直接使用它(因为App.js最先已经把$showMyDialog和$hideMyDialog全局化了,所以不需要再加载MyDialog模块了):
这里我们在页面上创建了open dialog按钮。
点击按钮将打开一个弹窗。
而弹窗内我们没有使用简单的文字内容content字段,而是使用了children向弹窗内添加了一个按钮close dialog,点击它会通过自身的onClick事件关闭弹窗,同时输出HomePage的state.title,而不是MyDialog的state。
如果点击下面的确认或取消按钮,则会调用onClose方法输出true或flase,我们可以利用这个知道用户点击了哪个按钮。
END
1.第一种 element-ui dialog设置为点击弹窗以外的区域不关闭弹窗
在dialog的上面设置:close-on-click-modal="false"
2.第二种 全局配置
在mian.js里面:
import ElementUI from 'element-ui';
// 修改 el-dialog 默认点击遮照为不关闭
ElementUI.Dialog.props.closeOnClickModal.default = false
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,请发送邮件举报,一经查实,本站将立刻删除。
弹窗ui_弹窗usimlte v1017相关文章
2024-04-28
2024-04-28
2024-04-28
2024-04-28
2024-04-28
2024-04-28