Browse Source

Merge pull request #201892 in DEC/fineui from master to feature/x

* commit '73361e8ef7eb87bbbdce25877632d5f860b3821a':
  KERNEL-13158: 优化下useContext
  KERNEL-13158: 优化下useContext
master
superman 2 years ago
parent
commit
fdc3dc69da
  1. 4
      dist/fix/fix.compact.js
  2. 14
      examples/useContext.html
  3. 7
      src/core/4.widget.js

4
dist/fix/fix.compact.js vendored

@ -78,7 +78,7 @@
}, options);
};
function findStore (widget) {
BI.Widget.findStore = function findStore (widget) {
if (target != null) {
return target;
}
@ -110,7 +110,7 @@
return true;
}
if (this._store) {
var store = findStore(this.options.context || this._parent || this.options.element || this._context);
var store = BI.Widget.findStore(this.options.context || this._parent || this.options.element || this._context);
if (store) {
pushTarget(store);
needPop = true;

14
examples/useContext.html

@ -6,10 +6,12 @@
<script src="../dist/2.0/fineui.js"></script> -->
<link rel="stylesheet" type="text/css" href="http://fanruan.design/fineui/2.0/fineui.min.css"/>
<script src="http://fanruan.design/fineui/2.0/fineui.min.js"></script>
<!-- <script src="http://localhost:9001/fineui.js"></script>-->
</head>
<style>
.my-parent {
--css-scale: 1;
font-size: calc(var(--css-scale) * 14px);
}
</style>
<body>
@ -98,6 +100,18 @@
ref: function (_ref) {
child = _ref;
}
}, {
type: "bi.dynamic_date_combo",
supportDynamic: false,
width: 200,
value: {
type: 1,
value: {
year: 2012,
month: 3,
day: 15
}
}
}]
};
};

7
src/core/4.widget.js

@ -902,8 +902,9 @@
};
BI.useContext = function (inject) {
if (BI.Model.target) {
var vm = BI.Model.target;
// 通过组件找最近的store
var vm = BI.Widget.findStore(BI.Widget.current);
if (vm) {
if (inject) {
if (vm.$$computed && inject in vm.$$computed) {
return vm;
@ -923,7 +924,7 @@
return null;
}
}
return BI.Model.target;
return vm;
};
BI.watch = function (vm, watch, handler) {

Loading…
Cancel
Save